DENUE

Row

Mapa de Hoteles y Moteles de la CDMX disponibles en el Directorio Estadístico de Unidades Económicas (DENUE)

Row

Directorio de Hoteles y Moteles de la CDMX disponibles en el Directorio Estadístico de Unidades Económicas (DENUE)


Directorio de Hoteles y Moteles de la CDMX disponibles en el DENUE




Row

Por tipo de unidad


Número de unidades económicas por tipo de activiad


Por alcaldía


Número de unidades por alcaldía


Por número de empleados


Número de unidades por número de empleados


Row

Subtesorería de Política Fiscal, Gobierno de la Ciudad de México. Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Licencia de Creative Commons

Trivago.com

Row

Mapa de Hoteles y Moteles de la CDMX disponibles en Trivago.com

Row

Directorio de Hoteles y Moteles de la CDMX disponibles en Trivago.com


Directorio de Hoteles y Moteles de la CDMX disponibles en Trivago.com




Row

Precio 1


Hoteles y moteles por Precio 1


Precio 2


Hoteles y moteles por Precio 2


Precio 3


Hoteles y moteles por Precio 3


Row

Subtesorería de Política Fiscal, Gobierno de la Ciudad de México. Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Licencia de Creative Commons

Despegar.com

Row

Mapa de Hoteles y Moteles de la CDMX disponibles en Despegar.com

Row

Directorio de Hoteles y Moteles de la CDMX disponibles en Despegar.com


Directorio de Hoteles y Moteles de la CDMX disponibles en Despegar.com




Row

Por estrellas


Número de hoteles y moteles por número de estrellas


Por impuestos


Hoteles y moteles por impuestos


Por precio final


Hoteles y moteles por precio final


Dispersión impuestos-precio final


Hoteles y moteles por impuestos y precio final


Row

Subtesorería de Política Fiscal, Gobierno de la Ciudad de México. Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Licencia de Creative Commons

---
title: "Hoteles y Moteles de la CDMX"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: scroll
    fig_mobile: TRUE
    theme: flatly
    source_code: embed
---

  

```{r global, include=FALSE}
# runtime: shiny
library(shiny)
library(tidyverse)
library(DT)
library(leaflet)
library(leafem)
library(reactable)
library(crosstalk)
library(plotly)
moteles_y_hoteles <- read.csv("https://cghv94.github.io/subtesoreria/moteles_y_hoteles.csv")
trivago <- read.csv("https://cghv94.github.io/hoteles-moteles-trivago.csv")
despegar <- read.csv("https://cghv94.github.io/hoteles-despegar-cdmx.csv")
```

DENUE
=====================================

Row
-----------------------------------------------------------------------

### Mapa de Hoteles y Moteles de la CDMX disponibles en el Directorio Estadístico de Unidades Económicas (DENUE)

```{r}
micro <- moteles_y_hoteles %>% filter(per_ocu == "0 a 5 personas")
mini <- moteles_y_hoteles %>% filter(per_ocu == "6 a 10 personas")
peque <- moteles_y_hoteles %>% filter(per_ocu == "11 a 30 personas")
normal <- moteles_y_hoteles %>% filter(per_ocu == "31 a 50 personas")
grande <- moteles_y_hoteles %>% filter(per_ocu == "51 a 100 personas")
enorme <- moteles_y_hoteles %>% filter(per_ocu == "101 a 250 personas")
macro <- moteles_y_hoteles %>% filter(per_ocu == "251 y más personas")

img <- "https://www.transparencia.cdmx.gob.mx/themes/vut/assets/images/Logo-cdmx.png"

mapa <- leaflet(data = moteles_y_hoteles) %>% 
  addProviderTiles("CartoDB.Positron") %>% setView( -99.145555555556, 19.419444444444, zoom = 10)  %>% 
  addCircleMarkers(data = micro, lng = ~longitud, lat = ~latitud, 
                   radius = 10,
                   fillOpacity = .7,
                   stroke = FALSE,
                   popup = paste0("Nombre: ", micro$nom_estab, "
", "Empleados: ", micro$per_ocu, "
", "Web: ", micro$www, "
", "Correo: ", micro$correoelec, "
", "Teléfono: ", micro$telefono, "
", "Alcaldía: ", micro$municipio, "
", "Fecha de alta: ", micro$fecha_alta), color = "darkgreen", clusterOptions = markerClusterOptions(), group = "0 a 5 personas") %>% addCircleMarkers(data = mini, lng = ~longitud, lat = ~latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", mini$nom_estab, "
", "Empleados: ", mini$per_ocu, "
", "Web: ", mini$www, "
", "Correo: ", mini$correoelec, "
", "Teléfono: ", mini$telefono, "
", "Alcaldía: ", mini$municipio, "
", "Fecha de alta: ", mini$fecha_alta), color = "green", clusterOptions = markerClusterOptions(), group = "6 a 10 personas") %>% addCircleMarkers(data = peque, lng = ~longitud, lat = ~latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", peque$nom_estab, "
", "Empleados: ", peque$per_ocu, "
", "Web: ", peque$www, "
", "Correo: ", peque$correoelec, "
", "Teléfono: ", peque$telefono, "
", "Alcaldía: ", peque$municipio, "
", "Fecha de alta: ", peque$fecha_alta), color = "lightgreen", clusterOptions = markerClusterOptions(), group = "11 a 30 personas") %>% addCircleMarkers(data = normal, lng = ~longitud, lat = ~latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", normal$nom_estab, "
", "Empleados: ", normal$per_ocu, "
", "Web: ", normal$www, "
", "Correo: ", normal$correoelec, "
", "Teléfono: ", normal$telefono, "
", "Alcaldía: ", normal$municipio, "
", "Fecha de alta: ", normal$fecha_alta), color = "yellow", clusterOptions = markerClusterOptions(), group = "31 a 50 personas") %>% addCircleMarkers(data = grande, lng = ~longitud, lat = ~latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", grande$nom_estab, "
", "Empleados: ", grande$per_ocu, "
", "Web: ", grande$www, "
", "Correo: ", grande$correoelec, "
", "Teléfono: ", grande$telefono, "
", "Alcaldía: ", grande$municipio, "
", "Fecha de alta: ", grande$fecha_alta), color = "orange", clusterOptions = markerClusterOptions(), group = "51 a 100 personas") %>% addCircleMarkers(data = enorme, lng = ~longitud, lat = ~latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", enorme$nom_estab, "
", "Empleados: ", enorme$per_ocu, "
", "Web: ", enorme$www, "
", "Correo: ", enorme$correoelec, "
", "Teléfono: ", enorme$telefono, "
", "Alcaldía: ", enorme$municipio, "
", "Fecha de alta: ", enorme$fecha_alta), color = "red", clusterOptions = markerClusterOptions(), group = "101 a 250 personas") %>% addCircleMarkers(data = macro, lng = ~longitud, lat = ~latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", macro$nom_estab, "
", "Empleados: ", macro$per_ocu, "
", "Web: ", macro$www, "
", "Correo: ", macro$correoelec, "
", "Teléfono: ", macro$telefono, "
", "Alcaldía: ", macro$municipio, "
", "Fecha de alta: ", macro$fecha_alta), color = "brown", clusterOptions = markerClusterOptions(), group = "251 y más personas") %>% leaflet::addLayersControl(overlayGroups = c("0 a 5 personas", "6 a 10 personas", "11 a 30 personas", "31 a 50 personas", "51 a 100 personas", "101 a 250 personas", "251 y más personas"), options = layersControlOptions(collapsed = FALSE)) %>% addLogo(img, url = "https://www.transparencia.cdmx.gob.mx/themes/vut/assets/images/", width = 200) mapa ``` Row ----------------------------------------------------------------------- ### Directorio de Hoteles y Moteles de la CDMX disponibles en el Directorio Estadístico de Unidades Económicas (DENUE)

**Directorio de Hoteles y Moteles de la CDMX disponibles en el DENUE**


```{r} denue <- data.frame(moteles_y_hoteles$nom_estab,moteles_y_hoteles$nombre_act,moteles_y_hoteles$per_ocu, moteles_y_hoteles$municipio, moteles_y_hoteles$telefono, moteles_y_hoteles$correoelec, moteles_y_hoteles$www, moteles_y_hoteles$fecha_alta) colnames(denue) <- c("Nombre", "Actividad", "Empleados", "Alcaldia", "Teléfono", "Correo", "Web", "Fecha de alta") denue <- SharedData$new(denue) bscols(widths = c(2,10), list( filter_checkbox("Actividad", "Actividad", denue, ~Actividad), filter_checkbox("Empleados", "Empleados", denue, ~Empleados), filter_checkbox("Alcaldia", "Alcaldía", denue, ~Alcaldia)), reactable(denue, minRows = 10)) ```
Row {data-height=600 .tabset .tabset-fade} ----------------------------------------------------------------------- ### Por tipo de unidad

**Número de unidades económicas por tipo de activiad**

```{r} actividad <- data.frame(table(moteles_y_hoteles$nombre_act)) actividad <- actividad[order(-actividad$Freq),] actividad <- transform(actividad, Porcentaje = round(prop.table(actividad$Freq),4)*100) colnames(actividad) <- c("Actividad", "Número de unidades económicas", "Porcentaje") g1 <- ggplot(actividad) + aes( x = Actividad, fill = Porcentaje, weight = `Número de unidades económicas` ) + geom_bar() + scale_fill_distiller(palette = "Greens", direction = 1) + coord_flip() + theme_minimal() ggplotly(g1) ```
### Por alcaldía

**Número de unidades por alcaldía**

```{r} alcaldia <- data.frame(table(moteles_y_hoteles$municipio)) alcaldia <- alcaldia[order(-alcaldia$Freq),] alcaldia <- transform(alcaldia, Porcentaje = round(prop.table(alcaldia$Freq),4)*100) colnames(alcaldia) <- c("Alcaldía", "Número de unidades económicas", "Porcentaje") g2 <- ggplot(alcaldia) + aes( x = Alcaldía, fill = Porcentaje, weight = `Número de unidades económicas` ) + geom_bar() + scale_fill_distiller(palette = "Greens", direction = 1) + coord_flip() + theme_minimal() ggplotly(g2) ```
### Por número de empleados

**Número de unidades por número de empleados**

```{r} n_empleados <- data.frame(table(moteles_y_hoteles$per_ocu)) n_empleados <- n_empleados[order(-n_empleados$Freq),] n_empleados <- transform(n_empleados, Porcentaje = round(prop.table(n_empleados$Freq),4)*100) colnames(n_empleados) <- c("Número de empleados", "Número de unidades económicas", "Porcentaje") g3 <- ggplot(n_empleados) + aes( x = `Número de empleados`, fill = Porcentaje, weight = `Número de unidades económicas` ) + geom_bar() + scale_fill_distiller(palette = "Greens", direction = 1) + coord_flip() + theme_minimal() ggplotly(g3) ```
Row ----------------------------------------------------------------------- ###

Subtesorería de Política Fiscal, Gobierno de la Ciudad de México. Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Licencia de Creative Commons

Trivago.com ===================================== Row ----------------------------------------------------------------------- ### Mapa de Hoteles y Moteles de la CDMX disponibles en Trivago.com ```{r} img <- "https://www.transparencia.cdmx.gob.mx/themes/vut/assets/images/Logo-cdmx.png" mapa_trivago <- leaflet(data = trivago) %>% addProviderTiles("CartoDB.Positron") %>% setView( -99.145555555556, 19.419444444444, zoom = 10) %>% addCircleMarkers(data = trivago, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", trivago$Nombre, "
", "Precio por noche ", "
","Oferta 1: ", trivago$Oferta_1, "
", "Precio 1: ", trivago$Precio_1, "
", "Oferta 2: ", trivago$Oferta_2, "
", "Precio 2: ", trivago$Precio_2, "
", "Oferta 3: ", trivago$Oferta_3, "
", "Precio 3: ", trivago$Precio_3), color = "green", clusterOptions = markerClusterOptions()) %>% addLogo(img, url = "https://www.transparencia.cdmx.gob.mx/themes/vut/assets/images/", width = 200) mapa_trivago ``` Row ----------------------------------------------------------------------- ### Directorio de Hoteles y Moteles de la CDMX disponibles en Trivago.com

**Directorio de Hoteles y Moteles de la CDMX disponibles en Trivago.com**


```{r} trivago_graficas <- trivago trivago <- read.csv("https://cghv94.github.io/hoteles-moteles-trivago.csv") trivago <- SharedData$new(select(trivago, -Latitud, -Longitud)) bscols(widths = c(2,10), list( filter_slider("Rating", "Rating", trivago, ~Rating, width = "100%"), filter_slider("Precio_1", "Precio 1", trivago, ~Precio_1, width = "100%"), filter_slider("Precio_2", "Precio 2", trivago, ~Precio_2, width = "100%"), filter_slider("Precio_3", "Precio 3", trivago, ~Precio_3, width = "100%")), reactable(trivago, minRows = 10)) ```
Row {data-height=600 .tabset .tabset-fade} ----------------------------------------------------------------------- ### Precio 1

**Hoteles y moteles por Precio 1**

```{r} g_trivago_1 <- ggplot(trivago_graficas) + aes(x = Precio_1, y = Precio_1, text = Nombre) + geom_point(shape = "circle", size = 1.5, colour = "#228B22") + theme_minimal() ggplotly(g_trivago_1) ```
### Precio 2

**Hoteles y moteles por Precio 2**

```{r} g_trivago_2 <- ggplot(trivago_graficas) + aes(x = Precio_2, y = Precio_2, text = Nombre) + geom_point(shape = "circle", size = 1.5, colour = "#228B22") + theme_minimal() ggplotly(g_trivago_2) ```
### Precio 3

**Hoteles y moteles por Precio 3**

```{r} g_trivago_3 <- ggplot(trivago_graficas) + aes(x = Precio_3, y = Precio_3, text = Nombre) + geom_point(shape = "circle", size = 1.5, colour = "#228B22") + theme_minimal() ggplotly(g_trivago_3) ```
Row ----------------------------------------------------------------------- ###

Subtesorería de Política Fiscal, Gobierno de la Ciudad de México. Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Licencia de Creative Commons

Despegar.com ===================================== Row ----------------------------------------------------------------------- ### Mapa de Hoteles y Moteles de la CDMX disponibles en Despegar.com ```{r} uno <- despegar %>% filter(Estrellas == 1) dos <- despegar %>% filter(Estrellas == 2) tres <- despegar %>% filter(Estrellas == 3) cuatro <- despegar %>% filter(Estrellas == 4) cinco <- despegar %>% filter(Estrellas == 5) seis <- despegar %>% filter(Estrellas == 6) img <- "https://www.transparencia.cdmx.gob.mx/themes/vut/assets/images/Logo-cdmx.png" mapa_despegar <- leaflet(data = despegar) %>% addProviderTiles("CartoDB.Positron") %>% setView( -99.145555555556, 19.419444444444, zoom = 10) %>% addCircleMarkers(data = uno, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", uno$Nombre, "
", "Estrellas: ", uno$Estrellas, "
", "Precio de la habitación ", "
", "Impuestos: ", uno$Impuestos, "
", "Precio final: ", uno$Precio_final), color = "darkgreen", clusterOptions = markerClusterOptions(), group = "1 esatrella") %>% addCircleMarkers(data = dos, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", dos$Nombre, "
", "Estrellas: ", dos$Estrellas, "
", "Precio de la habitación ", "
", "Impuestos: ", dos$Impuestos, "
", "Precio final: ", dos$Precio_final), color = "green", clusterOptions = markerClusterOptions(), group = "2 esatrellas") %>% addCircleMarkers(data = tres, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", tres$Nombre, "
", "Estrellas: ", tres$Estrellas, "
", "Precio de la habitación ", "
", "Impuestos: ", tres$Impuestos, "
", "Precio final: ", tres$Precio_final), color = "lightgreen", clusterOptions = markerClusterOptions(), group = "3 esatrellas") %>% addCircleMarkers(data = cuatro, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", cuatro$Nombre, "
", "Estrellas: ", cuatro$Estrellas, "
", "Precio de la habitación ", "
", "Impuestos: ", cuatro$Impuestos, "
", "Precio final: ", cuatro$Precio_final), color = "yellow", clusterOptions = markerClusterOptions(), group = "4 esatrellas") %>% addCircleMarkers(data = cinco, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", cinco$Nombre, "
", "Estrellas: ", cinco$Estrellas, "
", "Precio de la habitación ", "
", "Impuestos: ", cinco$Impuestos, "
", "Precio final: ", cinco$Precio_final), color = "orange", clusterOptions = markerClusterOptions(), group = "5 esatrellas") %>% addCircleMarkers(data = seis, lng = ~Longitud, lat = ~Latitud, radius = 10, fillOpacity = .7, stroke = FALSE, popup = paste0("Nombre: ", seis$Nombre, "
", "Estrellas: ", seis$Estrellas, "
", "Precio de la habitación ", "
", "Impuestos: ", seis$Impuestos, "
", "Precio final: ", seis$Precio_final), color = "red", clusterOptions = markerClusterOptions(), group = "6 esatrellas") %>% leaflet::addLayersControl(overlayGroups = c("1 esatrella", "2 esatrellas", "3 esatrellas", "4 esatrellas", "5 esatrellas", "6 esatrellas"), options = layersControlOptions(collapsed = FALSE)) %>% addLogo(img, url = "https://www.transparencia.cdmx.gob.mx/themes/vut/assets/images/", width = 200) mapa_despegar ``` Row ----------------------------------------------------------------------- ### Directorio de Hoteles y Moteles de la CDMX disponibles en Despegar.com

**Directorio de Hoteles y Moteles de la CDMX disponibles en Despegar.com**


```{r} despegar_graficas <- despegar despegar <- SharedData$new(select(despegar, -Latitud, -Longitud)) bscols(widths = c(2,10), list( filter_slider("Precio_final", "Precio", despegar, ~Precio_final, width = "100%"), filter_slider("Impuestos", "Impuestos", despegar, ~Impuestos, width = "100%"), filter_checkbox("Estrellas", "Estrellas", despegar, ~Estrellas)), reactable(despegar, minRows = 10)) ```
Row {data-height=600 .tabset .tabset-fade} ----------------------------------------------------------------------- ### Por estrellas

**Número de hoteles y moteles por número de estrellas**

```{r} estrellas <- data.frame(table(despegar_graficas$Estrellas)) estrellas <- estrellas[order(-estrellas$Freq),] estrellas <- transform(estrellas, Porcentaje = round(prop.table(estrellas$Freq),4)*100) colnames(estrellas) <- c("Estrellas", "Número de unidades económicas", "Porcentaje") g4 <- ggplot(estrellas) + aes( x = Estrellas, fill = Porcentaje, weight = `Número de unidades económicas` ) + geom_bar() + scale_fill_distiller(palette = "Greens", direction = 1) + coord_flip() + theme_minimal() ggplotly(g4) ```
### Por impuestos

**Hoteles y moteles por impuestos**

```{r} g5 <- ggplot(despegar_graficas) + aes(x = Impuestos, y = Impuestos, text = Nombre) + geom_point(shape = "circle", size = 1.5, colour = "#228B22") + theme_minimal() ggplotly(g5) ```
### Por precio final

**Hoteles y moteles por precio final**

```{r} g6 <- ggplot(despegar_graficas) + aes(x = Precio_final, y = Precio_final, text = despegar_graficas$Nombre) + geom_point(shape = "circle", size = 1.5, colour = "#228B22") + theme_minimal() ggplotly(g6) ```
### Dispersión impuestos-precio final

**Hoteles y moteles por impuestos y precio final**

```{r} g7 <- ggplot(despegar_graficas) + aes(x = Impuestos, y = Precio_final, text = Nombre) + geom_point(shape = "circle", size = 1.5, colour = "#228B22") + theme_minimal() ggplotly(g7) ```
Row ----------------------------------------------------------------------- ###

Subtesorería de Política Fiscal, Gobierno de la Ciudad de México. Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Licencia de Creative Commons